using System;
using System.Collections.Generic;
using System.Web;
using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections;

/// <summary>
/// Summary description for Empleados
/// </summary>
public class Empleado
{
	public Empleado()
	{
		//
		// TODO: Add constructor logic here
		//
	}
    public static void agregarEmpleado(int cod_tipo_documento, long nro_documento, int cod_puesto,string perfil, string nick)
    {
        SqlConnection conexion = null;

        try
        {
            conexion = Conexion.CrearConexion();
            IDbCommand comando = Conexion.CrearComando(conexion);

            comando.CommandType = System.Data.CommandType.StoredProcedure;
            comando.CommandText = "[sp_agregar_empleado]";
            comando.Parameters.Add(Conexion.CrearParametro("@cod_tipo_documento", cod_tipo_documento));
            comando.Parameters.Add(Conexion.CrearParametro("@nro_documento", nro_documento));
            comando.Parameters.Add(Conexion.CrearParametro("@cod_puesto", cod_puesto));
            comando.Parameters.Add(Conexion.CrearParametro("@perfil", perfil));
            comando.Parameters.Add(Conexion.CrearParametro("@nick", nick));
            comando.ExecuteNonQuery();

        }
        finally
        {
            conexion.Close();
        }
    }

    public static void eliminarUltimoCarcado()
    {
        SqlConnection conexion = null;

        try
        {
            conexion = Conexion.CrearConexion();
            SqlCommand comando = new SqlCommand("select max(cod_empleado) from Empleados",conexion);/* Conexion.CrearComando(conexion);*/
            comando.Connection=conexion;
            comando.CommandType = System.Data.CommandType.Text;
            SqlDataReader read = comando.ExecuteReader();
            read.Read();
            String codigo = read.GetValue(0).ToString();
            read.Close();
            eliminarEmpleado(Convert.ToInt32(codigo));
        }
        finally
        {
            conexion.Close();
        }
    }
    public static void eliminarEmpleado(long cod_empleado)
    {
        SqlConnection conexion = null;

        try
        {
            conexion = Conexion.CrearConexion();
            IDbCommand comando = Conexion.CrearComando(conexion);

            comando.CommandType = System.Data.CommandType.StoredProcedure;
            comando.CommandText = "[sp_borrar_empleado]";
            comando.Parameters.Add(Conexion.CrearParametro("@cod_empleado", cod_empleado));
            comando.ExecuteNonQuery();
        }
        finally
        {
            conexion.Close();
        }
    }
    public static void modificarEmpleado(long cod_empleado, int cod_puesto, string perfil, string nick)
    {
        SqlConnection conexion = null;

        try
        {
            conexion = Conexion.CrearConexion();
            IDbCommand comando = Conexion.CrearComando(conexion);
           
            comando.CommandType = System.Data.CommandType.StoredProcedure;
            comando.CommandText = "[sp_modificar_empleado]";
            comando.Parameters.Add(Conexion.CrearParametro("@cod_empleado", cod_empleado));
            comando.Parameters.Add(Conexion.CrearParametro("@cod_puesto", cod_puesto));
            comando.Parameters.Add(Conexion.CrearParametro("@perfil", perfil));
            comando.Parameters.Add(Conexion.CrearParametro("@nick", nick));
            comando.ExecuteNonQuery();
        }
        finally
        {
            conexion.Close();
        }
    }
    public static int ultimoCargado(long nroDocumento , int tipoDocumento)
    {
        String cadena = (String)ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        SqlConnection conexion = new SqlConnection(cadena);
        SqlCommand comando = new SqlCommand("select max(cod_empleado) from Empleados where " + nroDocumento + " = nro_documento and " + tipoDocumento + " = cod_tipo_documento", conexion);

        try
        {
            conexion.Open();
            comando.CommandType = System.Data.CommandType.Text;
            comando.ExecuteNonQuery();
            SqlDataReader read = comando.ExecuteReader();
            read.Read();
            int respuesta = Convert.ToInt32(read.GetValue(0));
            read.Close();
            return respuesta;
        }
        finally
        {
            conexion.Close();
        }
    }
    
}
